// pages/exhibition/reservation/reservation.js
Page({
  data: {
    sessionId: '',
    sessionInfo: {},
    formData: {
      name: '',
      phone: '',
      idCard: '',
      personCountIndex: 0,
      remark: ''
    },
    personCountOptions: ['1人', '2人', '3人', '4人', '5人']
  },

  onLoad(options) {
    const { sessionId } = options;
    this.setData({ sessionId });
    this.loadSessionInfo(sessionId);
  },

  // 加载场次信息
  loadSessionInfo(sessionId) {
    // 模拟从服务器获取场次信息
    const sessionData = {
      '1': {
        id: 1,
        title: '生命教育主题展',
        date: '2025.08.20',
        time: '09:00-11:00',
        location: '生命教育展馆A厅',
        totalSeats: 50,
        remainingSeats: 15
      },
      '2': {
        id: 2,
        title: '捐献者故事分享会',
        date: '2025.08.22',
        time: '14:00-16:00',
        location: '生命教育展馆B厅',
        totalSeats: 30,
        remainingSeats: 0
      },
      '3': {
        id: 3,
        title: '医学知识科普展',
        date: '2025.08.25',
        time: '10:00-12:00',
        location: '生命教育展馆C厅',
        totalSeats: 40,
        remainingSeats: 25
      }
    };

    const sessionInfo = sessionData[sessionId] || sessionData['1'];
    this.setData({ sessionInfo });
  },

  // 姓名输入
  onNameInput(e) {
    this.setData({
      'formData.name': e.detail.value
    });
  },

  // 手机号输入
  onPhoneInput(e) {
    this.setData({
      'formData.phone': e.detail.value
    });
  },

  // 身份证号输入
  onIdCardInput(e) {
    this.setData({
      'formData.idCard': e.detail.value
    });
  },

  // 预约人数选择
  onPersonCountChange(e) {
    this.setData({
      'formData.personCountIndex': e.detail.value
    });
  },

  // 备注输入
  onRemarkInput(e) {
    this.setData({
      'formData.remark': e.detail.value
    });
  },

  // 表单验证
  validateForm() {
    const { formData } = this.data;
    
    if (!formData.name.trim()) {
      wx.showToast({
        title: '请输入姓名',
        icon: 'none'
      });
      return false;
    }

    if (!formData.phone.trim()) {
      wx.showToast({
        title: '请输入手机号',
        icon: 'none'
      });
      return false;
    }

    // 简单的手机号验证
    const phoneRegex = /^1[3-9]\d{9}$/;
    if (!phoneRegex.test(formData.phone)) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none'
      });
      return false;
    }

    if (!formData.idCard.trim()) {
      wx.showToast({
        title: '请输入身份证号',
        icon: 'none'
      });
      return false;
    }

    // 简单的身份证号验证
    const idCardRegex = /^\d{17}[\dXx]$/;
    if (!idCardRegex.test(formData.idCard)) {
      wx.showToast({
        title: '请输入正确的身份证号',
        icon: 'none'
      });
      return false;
    }

    return true;
  },

  // 提交预约
  submitReservation() {
    if (!this.validateForm()) {
      return;
    }

    wx.showLoading({
      title: '提交中...'
    });

    // 模拟提交预约
    setTimeout(() => {
      wx.hideLoading();
      
      // 生成预约码
      const reservationCode = 'EX' + Date.now().toString().slice(-8);
      
      // 显示预约成功页面
      wx.showModal({
        title: '预约成功',
        content: `预约码：${reservationCode}\n请妥善保管，到场时出示此码进行签到。`,
        showCancel: false,
        confirmText: '确定',
        success: () => {
          // 返回上一页
          wx.navigateBack();
        }
      });
    }, 2000);
  },

  // 返回上一页
  goBack() {
    wx.navigateBack();
  }
});
